Shriya consultancy has a well-established Center of Excellence for Test Automation. The focus is on consolidation of Knowledge, Best Practices and invest on innovations. They have well proven Test Automation Process, Test Automation methodologies and frameworks.
Automation methodology depicts a process that helps to approach test design and execution. The test process forms a guideline for all test automation projects for effective and efficient implementation. This structured approach also helps to steer the testing team away from the common test program mistakes mentioned below:
> Implementing the use of an automated test tool without a testing process in place resulting in an ad-hoc, non-repeatable, non-measurable test program.
> Implementing a test design without following any design standards, resulting in the creation of test scripts that are not repeatable and therefore not reusable for incremental software builds.
This process supports the detailed and inter-related activities that are required to decide on an automated testing tool, process of how to introduce and utilize an automated test tool.
> Automation Requirement Study and Analysis
> Automation Test Planning
> Automation Test Design
> Test Script Development
> Test Execution and Report Preparation
The primary objective of this phase is to assess the nature of the application, client requirements, client expectations and establishing the scope of automation.
For the benefits of Automated Testing to be optimally realized, following pre-conditions needs to be fulfilled before the start of automation process.
> Manual test conditions, test cases with test data must have been completed.
> The system requirements and user interface should be frozen.
> To ensure that system functionalities are working as designed, at least one round of manual test execution should have been completed before the actual start of test automation.
The phase will typically involve analyzing automation test requirements from the manual test cases of the application. This involves identifying test cases for automation, prioritizing based on the needs and defining the complexity factor for each test case.
The Automation requirements once clearly defined and documented must be globally understood by the project team. This helps to identify the resource requirements and prepare test plan based on the application complexity. During this phase, the test team identifies:
Ensure application readiness and it’s fit for use.Ensure that pre-existing functions (e.g. functions from version 1.0 – i.e. not new functions in this release) are unaffected by any changes introduced in version 1.1.Ensure that test independence is built in so that a failure in the first test case won’t cause a domino effect to either prevent or cause to fail the rest of the test scripts in that test suite.Establish baselines for future automation test cycles.Ensure it decreases the testing effort in subsequent releases.
EA feasibility study is required to identify the test cases which can be automated. Tests that require constant human intervention are usually not worth the investment to automate. The following are examples of criteria that can be used to identify tests that are prime candidates for automation:
> High Path Frequency – Automated testing can be used to verify the performance of application paths that are used with a high degree of frequency when the software is running in full production. Examples include: creating customer records, invoicing and other high volume activities where software failures would occur frequently.
> Critical Business Processes – In many situations, software applications can literally define or control the core of a company’s business. If the application fails, the company can face extreme disruptions in critical operations. Mission-critical processes are prime candidates for automated testing. Examples include: financial month-end closings, production planning, sales order entry and other core activities. Any application with a high-degree of risk associated with a failure is a good candidate for test automation.
> Repetitive Testing – If a testing procedure can be reused many times, it is also a prime candidate for automation. For example, common outline files can be created to establish a testing session, close a testing session and apply testing values. These automated modules can be used again and again without having to rebuild the test scripts. This modular approach saves time and money when compared to creating a new end-to-end script for each and every test.
> Applications with a Long Life Span – If an application is planned to be in production for a long period of time, the greater the benefits are from automation.
Compatibility Testing – If a test procedure is created for execution of compatibility testing on various platforms and browsers, it‘s also a prime candidate for automation.
Some of the factors due to which test cases do not qualify for automation are:
Incompatibility of automation tools with some of the application controlsDependency of the application on third party servicesUnavailability of error free test data for testingLack of clarity in expected resultsVerification checks requiring manual interventionInterface with external application components not supported by the automation toolHowever in ideal scenarios 70-75% of manual test cases can be automated.
The major objective of the automation traceability document is to ease the process of modifications in the automation test scripts for all future releases.Hence the exact traceability between the manual test cases, functional components and corresponding functions in the automation test script are created and captured in Automation Traceability Matrix.Creation of Automation Traceability Matrix should be started when the requirements are established and frozen.
The exit criteria for this phase are successful identification of test cases for automation and creation of automation traceability matrix.
The objective of test planning phase is to assist the test team to track the progress of the test process as well as overall project activities throughout the project lifecycle.
The test cases identified for automation should be base lined.
The test planning phase starts with tool selection followed by formulation of test automation approach and finally creation of test plan document which is the outcome of this phase. This document is shared across respective stakeholders for reviews and approvals. Following activities are performed in this phase:
With the emerging trends and technologies, a number of automation tools are available in the market. Therefore, identification of an appropriate tool best supporting the application under test gains prominence. Tool evaluation is inevitable for selecting the automation tool that meets the project expectations. It requires prior experience and process to reduce the complexity of the tool selection process and the general concerns include:
> Select the tool based on application technologies.
> Evaluate the tool based on criteria like features supported, ease in scripting etc.
> Decide when to start using the automation tool.
The Framework is an attempt to simplify and speed-up scripting by making use of reusability. The goal is to provide a complete end-to-end automation solution for testing the AUT. As we set out to develop a framework for automating the tests we are keeping the following points in mind
Although applications are relatively unique, the components that comprise them, in general, are not. Thus, we will focus our automation framework to deal with the common components that make up our unique applications and reuse virtually everything we develop for every application that comes through the automated test process.
The framework we develop should be highly modular and maintainable. Each module developed will be independent of the other modules and will not be affected by any change in other modules. This allows us to expand each module without affecting any other part of the system. The framework will be aimed at being simpler and perpetual. The framework isolates the application under test from the test scripts by providing a set of functions in a shared function library. The test script writers treat these functions as if they were basic commands of the test tool’s programming language. They can thus program the scripts independently of the user interface of the software. Hence the key points of framework are
> Re-usability
> Maintainability
> Flexibility
> Reliability
> Robustness
> Portability
With the expertise on Test Automation and focus on reducing cost for Test Automation, we have developed a ready to use Test Automation Framework. We have developed Automation Frameworks for Testing Web Applications and Testing Mobile Application. We call our Test Automation framework for Web Applications.The Key features of framework are.
> Ready to use that reduces the time to Develop Automation Scripts
> Enables easy migration of Scripts from Licensed tool ( Such as QTP, RFT, etc) to Open Source
> Reduce greatly the Cost of Future Testing with improved Quality
> Robust and extensible framework to support test automation for different types of Web Applications
> Supports Data Driven Testing (DDT) and reusable functions
> Enables users to perform functional, acceptance and compatibility testing for most web applications
> Reduces overall costs for customers as it is built on open source tools / libraries / frameworks
> Highly scalable
> Demands less maintenance of test scripts
> Increases test automation coverage and reduces testing costs
> Allows selective test script execution
> Contains flexible test suite / test case configuration, command line execution and out-of-the-box test case execution support
Offers user defined exception logging along with custom exceptions
> Provides detailed reporting with screenshots, passed, failed, skipped, and error logs
> Delivers higher ROI through automation
> Higher productivity
> Lower maintenance cost
We have expertise on leading Test Automation Tools such as QTP, RFT, Silk Test but our recommendations and focus are for the implementation of Open Source Tools like Selenium to achieve huge Cost with no compromise on the quality of Test Automation Suites.
We help organizations to migrate Test Automation Suites from Licensed tools to open Source using of our Ready to use Framework.
> Project Management
> Testing Framework
> BDD
> Web Automation
> API Automation
> Mobile Automation
> Build Management
> Continuous Integration
> Version ontrol